﻿Public Class frmreservacion
    Dim rs As ADODB.Recordset 'CREAMOS UN OBJETO RS DE TIPO ADO PARA LA CONECCION
    Dim sql As String 'CREAMOS UN VALOR SQL DE TIPO CADENA PARA LOS DIFERENTES PROCESOS DE DATOS DE LA CONECCION DE LA BD (INSERTAR, SELECIONAR)
    Dim arreglonombre(20) As String 'CREAMOS UN ARREGLOS DE TIPO CADENA
    Dim i As Integer = 0 'CREAMOS UN VALOR DE TIPO ENTERO QUE NOS SERVIRA COMO 

    Private Sub btnagregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnagregar.Click
        'PERMITE AGREGAR A LISBOX NOMBRE ,CANTIDAD PERSONAS,HORA,NUMERO DE MESA
        lsbnombre.Items.Add(txtPaterno.Text & " " & txtMaterno.Text & " " & txtNombre.Text & " " & txtCodigo.Text)
        lsbNºpersonas.Items.Add(txtNpersonas.Text)
        lsbhora.Items.Add(DateLlegada.Value.ToString)
        lstNMesa.Items.Add(txtMesa.Text)
        'EL BOTON AGREGAR SE INABILITARA PARA UNA PROXIMA AGREGACION SEGUN EL CLIKEO DE NUEVA AGREGACION
        btnagregar.Enabled = False
        'SE INABILITA EL BOTON DE NUEVO AGREGACION YA QUE EL BOTON DE AGREGACION ESTA HABILITADO
        Button3.Enabled = True
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Visible = False 'FORMULARIO ACTUAL NO VISIBLE
        fORMULARIO_Restaurante.Visible = True 'SE MUESTRA EL FORMULARIO RESTAURANTE
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Visible = False 'FORMULARIO ACTUAL NO VISIBLE
        Dim codigo As Integer 'CREAMOS UN VALOR ENTERO PARA GUARDAR LOS DATOS DE CODIGO DEL CLIENTE
        sql = "SELECT MAX(CODI_RESERVA) FROM RESERVA_MESA_REST" 'SELECCIONA EL MAXIMO CODIGO_RESERVA DE LA TABLA RESERVA_MESA_REST
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
        If codigo <> 0 Then 'SI EL CODIGO ES DIFERENTE DE CERO EL VALOR QUE RETORNA DE LA COLUMNA 0 DE LA TABLA RESERVA_MESA_REST EL VALOR AGRGANDOLE +1 PARA LA SIGUIENTE AGREGACION DE CLIENTE 
            codigo = rs.Fields(0).Value + 1
        Else
            codigo = 10000 ' SI NO CUMPLE A CODIGO SE LE ASIGNARA 10000 QUE ES EL PRIMER CODI_CLIENTE
        End If

        sql = "INSERT INTO RESERVA_MESA_REST (CODI_RESERVA, CODI_CLIEN, NUME_PERSONAS, FECHA_RESERVA, FECHA_DESTINO, NUME_MESA) VALUES('" & codigo.ToString & "','" & txtCodigo.Text & "','" & txtNpersonas.Text & "','" & DateAhora.Value.ToString & "','" & DateLlegada.Value.ToString & "','" & txtMesa.Text & "')"
        rs = coneccion.Execute(sql)
        ''IMPRIMIR REPORTE
    End Sub

    Private Sub frmreservacion_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conectar() 'PERMITE INICIALIZAR LA CONECCION
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'PERMITE HABILITAR EL BOTON CUANDO SE PRESIONE EL BOTON 3(NUEVA AGREGACION)
        btnagregar.Enabled = True
        'PERMITE LIMPIAR LOS TEXTOS  HACIENDO CLICK EN EL BOTON 3(NUEVA AGREGACION)
        txtNpersonas.Text = ""
        txtCodigo.Text = ""
        txtMaterno.Text = ""
        txtMesa.Text = ""
        txtNombre.Text = ""
        txtPaterno.Text = ""

    End Sub
    Public Sub Enviar(ByVal Resultado As String)
        sql = "SELECT CODI_CLIEN, NOMB_CLIEN, PATE_CLIEN, MATE_CLIEN FROM(CLIENTE) WHERE (CODI_CLIEN = '" & Resultado & "')" 'PERMITE SELECCIONAR LA TABLA CLIENTE CON TODOS SUS DATOS REQUERIDOS
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
        'RS.EOF NOS RETORNA UN VALOR BOOLEANO DE TIPO FALSE ESTO SE MANTENDRA SIEMPRE EN CUANDO EXISTA LOS DATOS CONSULTADOS
        If rs.EOF <> True Then ' SI  EL BOOLEAN ES VERDADERO ESTE SALDRA DEL BUCLE 
            rs.MoveFirst() 'NOS PERMITE MOVER EL PRIMER REGISTRO Y LEERLO 
            'RETORNA LOS VALORES DE LAS COLUMNAS(INDICE) DE LA TABLA CLIENTE 
            txtCodigo.Text = rs.Fields(0).Value.ToString
            txtNombre.Text = rs.Fields(1).Value.ToString
            txtPaterno.Text = rs.Fields(2).Value.ToString
            txtMaterno.Text = rs.Fields(3).Value.ToString

        End If
    End Sub

    Private Sub btnVerificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerificar.Click
        Dim mostrar As New Resultados(txtPaterno.Text, txtMaterno.Text, txtNombre.Text, txtCodigo.Text) 'CREAMOS UN VALOR MOSTRAR Y LE ENVIAMOS LOS RESULTADOS CON TODOS SUS DATOS QUE SE  HA VERIFICADO
        mostrar.Show() 'PERMITE MOSTRAR LOS DATOS EXISTENTES
    End Sub

    Private Sub DateLlegada_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateLlegada.ValueChanged
        Enviar(Resultado) 'ENVIA LOS RESULATDOS
    End Sub
End Class